module.exports = {
    root: true,
    plugins: ['stylelint-order'],
    customSyntax: 'postcss-html',
    extends: ['stylelint-config-standard', 'stylelint-config-prettier'],
    rules: {
      'selector-pseudo-class-no-unknown': [
        true,
        {
          ignorePseudoClasses: ['global', 'deep']
        }
      ],
      'at-rule-no-unknown': [
        true,
        {
          ignoreAtRules: ['function', 'if', 'each', 'include', 'mixin']
        }
      ],
      'no-empty-source': null,
      'named-grid-areas-no-invalid': null,
      'unicode-bom': 'never',
      'no-descending-specificity': null,
      'font-family-no-missing-generic-family-keyword': null,
      'declaration-colon-space-after': 'always-single-line',
      'declaration-colon-space-before': 'never',
      'declaration-block-trailing-semicolon': null,
      'rule-empty-line-before': [
        'always',
        {
          ignore: ['after-comment', 'first-nested']
        }
      ],
      'unit-no-unknown': [
        true,
        {
          ignoreUnits: ['rpx']
        }
      ],
      'order/order': [
        [
          'dollar-variables',
          'custom-properties',
          'at-rules',
          'declarations',
          {
            type: 'at-rule',
            name: 'supports'
          },
          {
            type: 'at-rule',
            name: 'media'
          },
          'rules'
        ],
        {
          severity: 'warning'
        }
      ],
      // Specify the alphabetical order of the attributes in the declaration block
      'order/properties-order': [
        'position',
        'top',
        'right',
        'bottom',
        'left',
        'z-index',
        'display',
        'float',
        'width',
        'height',
        'max-width',
        'max-height',
        'min-width',
        'min-height',
        'padding',
        'padding-top',
        'padding-right',
        'padding-bottom',
        'padding-left',
        'margin',
        'margin-top',
        'margin-right',
        'margin-bottom',
        'margin-left',
        'margin-collapse',
        'margin-top-collapse',
        'margin-right-collapse',
        'margin-bottom-collapse',
        'margin-left-collapse',
        'overflow',
        'overflow-x',
        'overflow-y',
        'clip',
        'clear',
        'font',
        'font-family',
        'font-size',
        'font-smoothing',
        'osx-font-smoothing',
        'font-style',
        'font-weight',
        'hyphens',
        'src',
        'line-height',
        'letter-spacing',
        'word-spacing',
        'color',
        'text-align',
        'text-decoration',
        'text-indent',
        'text-overflow',
        'text-rendering',
        'text-size-adjust',
        'text-shadow',
        'text-transform',
        'word-break',
        'word-wrap',
        'white-space',
        'vertical-align',
        'list-style',
        'list-style-type',
        'list-style-position',
        'list-style-image',
        'pointer-events',
        'cursor',
        'background',
        'background-attachment',
        'background-color',
        'background-image',
        'background-position',
        'background-repeat',
        'background-size',
        'border',
        'border-collapse',
        'border-top',
        'border-right',
        'border-bottom',
        'border-left',
        'border-color',
        'border-image',
        'border-top-color',
        'border-right-color',
        'border-bottom-color',
        'border-left-color',
        'border-spacing',
        'border-style',
        'border-top-style',
        'border-right-style',
        'border-bottom-style',
        'border-left-style',
        'border-width',
        'border-top-width',
        'border-right-width',
        'border-bottom-width',
        'border-left-width',
        'border-radius',
        'border-top-right-radius',
        'border-bottom-right-radius',
        'border-bottom-left-radius',
        'border-top-left-radius',
        'border-radius-topright',
        'border-radius-bottomright',
        'border-radius-bottomleft',
        'border-radius-topleft',
        'content',
        'quotes',
        'outline',
        'outline-offset',
        'opacity',
        'filter',
        'visibility',
        'size',
        'zoom',
        'transform',
        'box-align',
        'box-flex',
        'box-orient',
        'box-pack',
        'box-shadow',
        'box-sizing',
        'table-layout',
        'animation',
        'animation-delay',
        'animation-duration',
        'animation-iteration-count',
        'animation-name',
        'animation-play-state',
        'animation-timing-function',
        'animation-fill-mode',
        'transition',
        'transition-delay',
        'transition-duration',
        'transition-property',
        'transition-timing-function',
        'background-clip',
        'backface-visibility',
        'resize',
        'appearance',
        'user-select',
        'interpolation-mode',
        'direction',
        'marks',
        'page',
        'set-link-source',
        'unicode-bidi',
        'speak'
      ]
    },
    ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
    overrides: [
      {
        files: ['*.vue', '**/*.vue', '*.html', '**/*.html'],
        extends: ['stylelint-config-recommended', 'stylelint-config-html'],
        rules: {
          'keyframes-name-pattern': null,
          'selector-pseudo-class-no-unknown': [
            true,
            {
              ignorePseudoClasses: ['deep', 'global']
            }
          ],
          'selector-pseudo-element-no-unknown': [
            true,
            {
              ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted']
            }
          ]
        }
      }
    ]
  }
  